How to compile, link and build GNU Emacs under VMS.


A runnable Emacs on VMS consists of two files, an exe file and
a map file.  (It also refers to a DOC file in the [-.etc] sibling directory.
These files are made automatically and kept straight by Emacs version number.)

For an Emacs being built and tested, these files are `temacs.exe' and
`temacs.dump' in this directory.

For an installed Emacs, these files are `emacs.exe' and
`emacs.dump' in the directory above this one.  These names are known
only in the file `emacs.com', also in that directory.

Before compiling anything on VMS, you must copy `config.h-dist' to `config.h'
and make sure it is set up for VMS (using files `m_vax.h' and `s_vms.h'.
Also copy `vmspaths.h' to `paths.h'.  `paths.h-dist' is for Unix only.

Execute `compile.com' to recompile all files that need recompilation.
 Alternatively, execute `precomp.com' to define a command `ccom' that
 can be used to recompile individual files.  `ccom' works by executing
 `ccom.com'.

Compilation will give you lots of warnings about symbols longer than 30
 characters.  You must just ignore them.  Alternatively, you can
 compile the C program `vms_pp.c' and run all the .c and .h files
 through that program and then compile the results.

 **If you use `vms_pp.c', please save the originals .c and .h files
 and distribute them rather than the transformed files
 if you wish to distribute copies of Emacs.  Help minimize confusion!**

Execute `link.com' to link the compiled files into `temacs.exe'.
 This process uses `temacs.opt'.

Execute `[-.etc]complink.com' to compile and link the files
 in the [emacs.etc] directory.  This must be done before 
 `[-.etc]make_docfile.com' can be run.

Execute `[-.etc]makedoc.com' to create or update the file `[-.etc]doc.'.
 This must be done if that file does not yet exist or if any of
 the Emacs C sources or preloaded Lisp sources has changed.
 It must be done before `build.com' is run in order to take effect.

Execute `build.com' to run `temacs.exe', initialize it and preload
 some Lisp code, and dump the map file `temacs.dump' containing a copy
 of all the impure storage after initialization.

Execute `testemacs.com' to define the `runtemacs' command
 to run `temacs.exe' with its map file `temacs.dump'.

To install an Emacs, rename `temacs.dump' as `[-]emacs.dump' and
 rename `temacs.exe' as `[-]emacs.exe'.
